package com.kuaidi100.sdk.request;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * @Author: api.kuaidi100.com
 * @Date: 2020-07-17 15:49
 */
public class PrintImgParam extends PrintCommonReq{
    /**
     * 收件人姓名
     */
    private String recManName;
    /**
     * 收件人的手机号
     */
    private String recManMobile;
    /**
     * 收件人的手机号
     */
    private String recManTel;
    /**
     * 收件人所在完整地址
     */
    private String recManPrintAddr;
    /**
     * 收件人所在公司名称
     */
    private String recManCompany;
    /**
     * 寄件人姓名
     */
    private String sendManName;
    /**
     * 寄件人的手机号
     */
    private String sendManMobile;
    /**
     * 寄件人的手机号
     */
    private String sendManTel;
    /**
     * 寄件人所在的完整地址
     */
    private String sendManPrintAddr;
    /**
     * 寄件人所在公司名称
     */
    private String sendManCompany;
    /**
     * 打印电子面单模板编码（登录快递100管理后台查看）
     */
    private String tempid;
    /**
     * 是否开启异步对推送图片，默认：0（不开启），1（开启），目前只针对第三方加密组件异步推送面单图片
     */
    private String asyn;
    /**
     * 开启异步推送时，需要提交的接收图片内容接口
     */
    private String callBackUrl;

    @Override
    public String toString() {
        try {
            ObjectMapper objectMapper = new ObjectMapper();
            return objectMapper.writeValueAsString(this);
        } catch (Exception e) {
            return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                    .append("recManName", recManName)
                    .append("recManMobile", recManMobile)
                    .append("recManTel", recManTel)
                    .append("recManPrintAddr", recManPrintAddr)
                    .append("recManCompany", recManCompany)
                    .append("sendManName", sendManName)
                    .append("sendManMobile", sendManMobile)
                    .append("sendManTel", sendManTel)
                    .append("sendManPrintAddr", sendManPrintAddr)
                    .append("sendManCompany", sendManCompany)
                    .append("tempid", tempid)
                    .append("asyn", asyn)
                    .append("callBackUrl", callBackUrl)
                    .toString();
        }
    }

    public String getRecManName() {
        return recManName;
    }

    public void setRecManName(String recManName) {
        this.recManName = recManName;
    }

    public String getRecManMobile() {
        return recManMobile;
    }

    public void setRecManMobile(String recManMobile) {
        this.recManMobile = recManMobile;
    }

    public String getRecManTel() {
        return recManTel;
    }

    public void setRecManTel(String recManTel) {
        this.recManTel = recManTel;
    }

    public String getRecManPrintAddr() {
        return recManPrintAddr;
    }

    public void setRecManPrintAddr(String recManPrintAddr) {
        this.recManPrintAddr = recManPrintAddr;
    }

    public String getRecManCompany() {
        return recManCompany;
    }

    public void setRecManCompany(String recManCompany) {
        this.recManCompany = recManCompany;
    }

    public String getSendManName() {
        return sendManName;
    }

    public void setSendManName(String sendManName) {
        this.sendManName = sendManName;
    }

    public String getSendManMobile() {
        return sendManMobile;
    }

    public void setSendManMobile(String sendManMobile) {
        this.sendManMobile = sendManMobile;
    }

    public String getSendManTel() {
        return sendManTel;
    }

    public void setSendManTel(String sendManTel) {
        this.sendManTel = sendManTel;
    }

    public String getSendManPrintAddr() {
        return sendManPrintAddr;
    }

    public void setSendManPrintAddr(String sendManPrintAddr) {
        this.sendManPrintAddr = sendManPrintAddr;
    }

    public String getSendManCompany() {
        return sendManCompany;
    }

    public void setSendManCompany(String sendManCompany) {
        this.sendManCompany = sendManCompany;
    }

    public String getTempid() {
        return tempid;
    }

    public void setTempid(String tempid) {
        this.tempid = tempid;
    }

    public String getAsyn() {
        return asyn;
    }

    public void setAsyn(String asyn) {
        this.asyn = asyn;
    }

    public String getCallBackUrl() {
        return callBackUrl;
    }

    public void setCallBackUrl(String callBackUrl) {
        this.callBackUrl = callBackUrl;
    }
}
